Zer0pts2020 easy_strcmp_wp

[Zer0pts2020]easy strcmp 个人记录

ida64打开

image-20220804222731151

直接提交zer0pts{********CENSORED********}是错误的

动调的结果发现,这个strcmp函数导向了另一个函数的位置

image-20220804223353530

写脚本,注意大小端,要倒序

1
2
3
4
5
6
7
8
9
10
11
12
import binascii

str1 = "********CENSORED********"
qword_201060 = [0x410A4335494A0942, 0x0B0EF2F50BE619F0, 0x4F0A3A064A35282B]

flag = b'flag{'
for i in range(3): #3的话是因为24/8=3---->********CENSORED********
z = str1[i * 8 : (i + 1) * 8] #分成三份,也就是八个一组
x = binascii.b2a_hex(z.encode('ascii')[::-1]) #将里面的元素转换为16进制的ascii
y = binascii.a2b_hex(hex(int(x, 16) + qword_201060[i])[2:])[::-1] #与201060的元素相加
flag += y
print(flag + b'}')